mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards
authorPhil Elwell <phil@raspberrypi.org>
Wed, 11 May 2016 11:50:33 +0000 (12:50 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sat, 31 Mar 2018 14:44:52 +0000 (15:44 +0100)
commit616e4992757146071c4ac66301a13cc8585d7ba6
treedb6c112ec988eff6bb7aa5365f0497a9e832b372
parent4612a836ecf1b7692123487c765b67fc2fa7c49c
mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards

Some SD cards have been found that corrupt data when small blocks
are erased. Add a quirk to indicate that ERASE should not be used,
and set it for cards of that type.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
mmc: Apply QUIRK_BROKEN_ERASE to other capacities

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
mmc: Add card_quirks module parameter, log quirks

Use mmc_block.card_quirks to override the quirks for all SD or MMC
cards. The value is a bitfield using the bit positions defined in
include/linux/mmc/card.h. If the module parameter is placed in the
kernel command line (or bootargs) stored on the card then, assuming the
device only has one SD card interface, the override effectively becomes
card-specific.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/mmc/card/block.c
drivers/mmc/core/core.c
include/linux/mmc/card.h